using CommunityToolkit.Mvvm.ComponentModel;
using RawRestructure.Enums;

namespace RawRestructure.Models;

/// <summary>
/// 存储图像分析结果的数据结构
/// </summary>
public partial class ImageInfo : ObservableObject
{
    /// <summary>
    /// 正位图数量
    /// </summary>
    [ObservableProperty]
    private int paCount = 0;

    /// <summary>
    /// 侧位图数量
    /// </summary>
    [ObservableProperty]
    private int latCount = 0;

    /// <summary>
    /// 最小图数量
    /// </summary>
    [ObservableProperty]
    private int minCount = 0;

    /// <summary>
    /// 是否为组保存
    /// </summary>
    [ObservableProperty]
    private bool isPairMode = false;

    /// <summary>
    /// 当前图像模式
    /// </summary>
    [ObservableProperty]
    private ImageMode currentImageMode = ImageMode.PA;

    /// <summary>
    /// 目录名称
    /// </summary>
    [ObservableProperty]
    private string directoryName = string.Empty;

    /// <summary>
    /// 完整路径
    /// </summary>
    [ObservableProperty]
    private string fullPath = string.Empty;

    /// <summary>
    /// 是否有配置文件
    /// </summary>
    [ObservableProperty]
    private bool hasConfigFile = false;

    /// <summary>
    /// 配置文件信息
    /// </summary>
    [ObservableProperty]
    private ImageConfig? config;
} 